package com.tju.ocean_ecology_website.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * 队伍详情DTO
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TeamDetailDTO {
    private Long id;                   // 队伍ID
    private String name;               // 队伍名称
    private String description;        // 队伍描述
    private String avatar;             // 队伍头像URL
    private String banner;             // 队伍横幅图片URL
    private Boolean isVerified;        // 是否官方认证
    private Date createTime;           // 创建时间
    private TeamMemberDTO leaderInfo;  // 队长信息
    private String myRole;             // 我在队伍中的角色
    private Integer memberCount;       // 成员数量
    private Integer activityCount;     // 活动数量
    private Integer totalHours;        // 队伍总服务时长
    private List<String> tags;         // 标签列表
    private List<TeamMemberDTO> members;       // 成员列表
    private List<TeamActivityDTO> recentActivities; // 最近活动列表
    
    /**
     * 队伍成员DTO
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class TeamMemberDTO {
        private Long id;        // 成员ID
        private String name;    // 成员姓名
        private String avatar;  // 成员头像
        private String role;    // 角色
        private Date joinTime;  // 加入时间
    }
    
    /**
     * 队伍活动DTO
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class TeamActivityDTO {
        private Long id;                 // 活动ID
        private String title;            // 活动标题
        private Date date;               // 活动日期
        private Integer participantCount; // 参与人数
    }
}
